|
Die Business Process Execution Language (BPEL) ist der de-facto
Standard für die Beschreibung von ausführbaren
Geschäftsprozessen. Durch BPEL ist es möglich, die Interaktion
zwischen Webservices maschinenlesbar vorzugeben. Allerdings ist BPEL
dadurch eng an die WSDL 1.1-Schnittstellenbeschreibungssprache für
Webservices gebunden, da die Signatur des Webservices angegeben
werden muss. Diese Bindung birgt wesentliche Nachteile in sich:
Erstens ist es nicht möglich, eine andere
Schnittstellenbeschreibungssprache, wie beispielsweise SSDL für die
Services zu verwenden, mit denen der BPEL-Prozess kommunizieren
soll. Zweitens erfordert das Modellieren eines Geschäftsprozesses
mit BPEL Wissen aus dem Bereich der Geschäftslogik und der IT. Um
diese Nachteile zu kompensieren, wurde BPELlight entwickelt.
BPELlight ist eine BPEL 2.0-Erweiterung, welche die Prozesslogik von
der Schnittstellenbeschreibung entkoppelt. Dies stellt einen Gewinn
für die Optimierung der Geschäftsprozessmodellierung dar, da damit
ermöglicht wird, Geschäftsprozesse wiederverwendbarer und
flexibler zu modellieren.
Einen weiteren Gewinn für die Optimierung der
Geschäftsprozessmodellierung bieten Message Exchange Patterns
(MEP). Ein MEP beschreibt auf abstrakte und damit wiederverwendbare
Art und Weise einen kompletten, bzw. teilweisen Nachrichtenaustausch
zwischen einem Service und den Servicekonsumenten, sowie den
Zusammenhang der Nachrichten.
In dieser Arbeit wurde die erste Version von BPELlight erweitert, um
MEPs für das Beschreiben des Nachrichtenverhaltens der BPELlight
Interaction Activity zu verwenden. Dazu wurden die vorhandenen
Sprachkonstrukte angepasst und neue hinzugefügt. Des Weiteren
wurden neue Konzepte wie Correlation, Fault und Event Handling in
die Sprache eingebracht.
Nach der Anpassung der BPELlight-Sprache wurde ihre Eignung für die
Modellierung von MEPs und Geschäftsprozessen ohne WSDL, sowie der
Verwendung von MEPs in einem Prozess, gezeigt. Hierfür wurde ein
Editor auf der Grundlage des Eclipse BPEL Designers entwickelt. Der
Editor bietet eine grundlegende Unterstützung für die gesamte
BPELlight-Sprache, insbesondere in den Bereichen, die für den
Nachrichtenaustausch zuständig sind.
|